package com.d3works.apps.cash.management.module;

import com.d3works.app.D3worksModule;
import com.d3works.apps.businessproject.service.InvoiceServiceProjectImpl;
import com.d3works.apps.cash.management.db.repo.CashManagementForecastGeneratorRepository;
import com.d3works.apps.cash.management.db.repo.CashManagementForecastRecapRepository;
import com.d3works.apps.cash.management.db.repo.CashManagementForecastRepository;
import com.d3works.apps.cash.management.db.repo.ForecastGeneratorRepository;
import com.d3works.apps.cash.management.db.repo.ForecastRecapRepository;
import com.d3works.apps.cash.management.db.repo.ForecastRepository;
import com.d3works.apps.cash.management.service.CashManagementChartService;
import com.d3works.apps.cash.management.service.CashManagementChartServiceImpl;
import com.d3works.apps.cash.management.service.ForecastRecapService;
import com.d3works.apps.cash.management.service.ForecastRecapServiceImpl;
import com.d3works.apps.cash.management.service.InvoiceEstimatedPaymentService;
import com.d3works.apps.cash.management.service.InvoiceEstimatedPaymentServiceImpl;
import com.d3works.apps.cash.management.service.InvoiceServiceManagementImpl;

public class CashManagementModule extends D3worksModule {

  @Override
  protected void configure() {
    bind(ForecastRecapRepository.class).to(CashManagementForecastRecapRepository.class);
    bind(InvoiceServiceProjectImpl.class).to(InvoiceServiceManagementImpl.class);
    bind(ForecastGeneratorRepository.class).to(CashManagementForecastGeneratorRepository.class);
    bind(ForecastRepository.class).to(CashManagementForecastRepository.class);
    bind(ForecastRecapService.class).to(ForecastRecapServiceImpl.class);
    bind(InvoiceEstimatedPaymentService.class).to(InvoiceEstimatedPaymentServiceImpl.class);
    bind(CashManagementChartService.class).to(CashManagementChartServiceImpl.class);
  }
}
